#include "mainwindow.h"
#include <QApplication>

#include <QDebug>
#include <QTextCodec>
#include <iostream>
#include <memory>

#include <allheaders.h>
#include <D:/QtProject/tesseracte_lib/tesseract_x64-windows/include/tesseract/baseapi.h>      // tesseract提供的关于C++的接口
#include <D:/QtProject/tesseracte_lib/tesseract_x64-windows/include/tesseract/strngs.h>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();


//        if (argc == 1)
//            return 1;

//        tesseract::TessBaseAPI tess;

//        if (tess.Init("./tessdata", "eng"))
//        {
//            std::cout << "OCRTesseract: Could not initialize tesseract." << std::endl;
//            return 1;
//        }

//        // setup
//        tess.SetPageSegMode(tesseract::PageSegMode::PSM_AUTO);
//        tess.SetVariable("save_best_choices", "T");

//        // read image
//        auto pixs = pixRead(argv[1]);
//        if (!pixs)
//        {
//            std::cout << "Cannot open input file: " << argv[1] << std::endl;
//            return 1;
//        }

//        // recognize
//        tess.SetImage(pixs);
//        tess.Recognize(0);

//        // get result and delete[] returned char* string
//        std::cout << std::unique_ptr<char[]>(tess.GetUTF8Text()).get() << std::endl;

//        // cleanup
//        tess.Clear();
//        pixDestroy(&pixs);

//        return 0;





//    // Basic example
//      char *outText;

//      tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
//      // Initialize tesseract-ocr with English, without specifying tessdata path
//      if (api->Init("D:/QtProject/tesseracte_lib/tessdata", "chi_sim"))
//      {
//          fprintf(stderr, "Could not initialize tesseract.\n");
//          exit(1);
//      }

//      QTextCodec *pcode = QTextCodec::codecForName ("utf8");

//      QString path = pcode->toUnicode("D:/图片/测试图片2.jpg");

//      std::string str = path.toStdString();
//      const char* ch = str.c_str();


//      // Open input image with leptonica library
//      Pix *image = pixRead(ch); //absolute path of file
//      api->SetImage(image);

//      // Get OCR result
//      outText = api->GetUTF8Text();



//      QString strName = pcode->toUnicode(outText);
//      qDebug() << strName;

////      printf("OCR output:\n%s", outText);

//      // Destroy used object and release memory
//      api->End();
//      delete [] outText;
//      pixDestroy(&image);

////      return 0;







    return a.exec();
}
